package fr.uniscol.dao.impl;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;

import fr.uniscol.dao.IEnseignantDao;
import fr.uniscol.model.AnneeScolaire;
import fr.uniscol.model.Enseignant;

public class EnseignantDaoImpl implements IEnseignantDao {

	private SessionFactory sessionFactory;
	
	public void setSessionFactory(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory;
	}

	public Enseignant getEnseignant(String id) {
		
		Session session = sessionFactory.getCurrentSession();
		
		return (Enseignant) session.get(Enseignant.class, id);
	}

	public void enregistrerEnseignant(Enseignant enseignant) {
		Session session = sessionFactory.getCurrentSession();

		session.saveOrUpdate(enseignant);
	}
 
	public List<Enseignant> getAllEnseignants(AnneeScolaire base) {

		Session session = sessionFactory.getCurrentSession();
		
		Query q = session.createQuery("From Enseignant Where annee_id=:annee_id");
		q.setParameter("annee_id", base.getId());
		
		List<Enseignant> enseignants = q.list();
		
		return enseignants;
	}
}
